Busca de melhor caminho entre múltiplas origens e múltiplos destinos em redes complexas que representam cidades

12/18/2019
by   Daniel Aragão Abreu Filho, et al.
1

Was investigated in this paper the use of a search strategy in the problem of finding the best path among multiple origins and multiple destinations. In this kind of problem, it must be decided within a lot of combinations which is the best origin and the best destination, and also the best path between these two regions. One remarkable difficulty to answer this sort of problem is to perform the search in a reduced time. This monography is a extension of previous research in which the problem described here was studied only in a bus network in the city of Fortaleza. This extension consisted of an exploration of the search strategy in graphs that represent public ways in cities like Fortaleza, Mumbai and Tokyo. Using this strategy with a heuristic algorithm, Haversine distance, was noticed that is possible to reduce substantially the time of the search, but introducing an error because of the loss of the admissible characteristic of the heuristic function applied.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 6

page 29

03/15/2021

S^*: A Heuristic Information-Based Approximation Framework for Multi-Goal Path Finding

We combine ideas from uni-directional and bi-directional heuristic searc...
08/31/2018

Single-Source Bottleneck Path Algorithm Faster than Sorting for Sparse Graphs

In a directed graph G=(V,E) with a capacity on every edge, a bottleneck ...
08/05/2019

GAN Path Finder: Preliminary results

2D path planning in static environment is a well-known problem and one o...
04/09/2015

An Optimized Hybrid Approach for Path Finding

Path finding algorithm addresses problem of finding shortest path from s...
09/30/2020

Travelling salesman paths on Demidenko matrices

In the path version of the Travelling Salesman Problem (Path-TSP), a sal...
05/08/2021

Survey of Parallel A* in Rust

A* is one of the most popular Best First Search (BFS) techniques for gra...
12/27/2017

An Online Ride-Sharing Path Planning Strategy for Public Vehicle Systems

As efficient traffic-management platforms, public vehicle (PV) systems a...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Motivação

A solução, porém, explora apenas a rede de ônibus da cidade de Fortaleza, criando a necessidade de uma reavaliação da estratégia proposta. Isso pode se tornar possível ao modificar os tipos de grafos utilizados e ainda sim, seria possível evidenciar resultados favoráveis para a estratégia proposta.

A proposta de construção deste trabalho surgiu a partir da demanda de conhecimentos sobre as estratégias do uso de redes distintas, em diferentes contextos de variabilidade de tamanhos. De forma que, proporcionou um maior conhecimento sobre as propriedades de redes complexas através do uso de redes sintéticas. Dessa forma, busca-se investigar a possibilidade da utilização de um algoritmo de transporte mais rápido que possa ser aplicado em diferentes cenários, promovendo, então, um maior conhecimento sobre essa temática no âmbito científico ao se expandir as possibilidades de aplicabilidade.

2 Objetivos

2.1 Objetivo Geral

Estender o trabalho de Ponte et al (2016), buscando avaliar a utilização dessa estratégia em redes de cidades reais, assim como, propor diferentes cenários para avaliação que podem variar em topologia e tamanho.

2.2 Objetivos Específicos

  • Verificar se as cidades reais têm topologias similares aos das topologias de redes complexas clássicas ao comparar redes reais e sintéticas.

  • Compreender como as propriedades de redes complexas podem afetar o modelo proposto por Ponte et al (2016) mediante o uso das redes sintéticas.

3 Estrutura do trabalho

Esse trabalho é composto por sete partes. A primeira é a Introdução, seguida pela Fundamentação Teórica, a qual é introduzindo conceitos como grafo, buscas e redes complexas. Já a terceira parte, referencia-se ao estado da arte, baseando-se nos trabalhos relacionados, explicando mais detalhadamente sobre a estratégia desenvolvida por Ponte et al (2016). O quarto refere-se à metodologia que será adotada nesta pesquisa. Os últimos três capítulos são referentes aos Resultados, Discussão e Conclusão, respectivamente.

4 Grafos

Os grafos são estruturas de dados essenciais para entender o que é uma rede complexa. Essas estruturas podem ser definidas por G = (V, E), em que V é um conjunto de vértices e E um conjunto de arestas que ligam esses vértices, ou seja cada e E é um par não ordenado de vértices {v, w}, em que v,w V [feofiloff2011introduccao]. Isso pode ser observado na estrutura de um grafo na Figura 4 abaixo.

Grafo formado pelo conjunto de Vértices = {V1, V2, V3, V4, V5} e arestas = {E1, E2, E3, E4} Elaborado pelo autor

Os grafos são capazes de representar abstrações de ambientes e sistemas reais. Para navegar nessa estrutura, surge o conceito de caminho, este é descrito como a junção de um conjunto de vértices e de arestas que une o ponto de origem ao de destino [newman2010]. Porém, em um grafo nem sempre existe um caminho entre dois vértices, como pode ser observado na Figura 4, visto que não é possível traçar um caminho do vértice 1 para o vértice 6.

Grafo com dois componentes conexos {1, 2, 4, 5} e {3, 6} Elaborado pelo autor

Quando não há caminho entre dois vértices, destaca-se que o vértice de origem e de destino estão em componentes conexos distintos, é definido como um subgrafo do grafo original que possui caminhos que interliguem todos os vértices. Dessa forma, em um grafo não dirigido para todo vértice A de um componente conexo e para todo vértice B do mesmo componente, sempre haverá um caminho entre A e B ou B e A [chrispino2013area]. Ao observar na Figura 4 os componentes distintos, evidencia-se que é impossível chegar no vértice 3 partindo-se do vértice 4, ou seja, eles pertencem a diferentes componentes conexos. Ademais, vale destacar o componente gigante de uma rede como o que possui o maior número de vértices [chrispino2013area], este componente é uma estrutura composta por um número de vértices que aumenta proporcionalmente ao crescimento do número de vértices do grafo e, como também, contém quase todos os vértices do grafo [newman2010].

5 Redes complexas

As redes complexas são estruturas que podem exprimir comportamentos. Isso pode ser exemplificado através de uma rede que representa o sistema nervoso, em que os vértices são as células nervosas que, ao mesmo tempo, transmitem sensações em escalas macroscópicas, e sinapses nervosas em escalas microscópicas [sayama2015]. Essas redes apresentam classificações que serão posteriormente contextualizadas no Tópico 5.2.

Ainda sobre esse tipo de estrutura de redes complexas, pode-se destacar outros exemplos, como as redes de cadeias alimentares ou a internet. Estas são redes que possuem numerosos componentes interagindo entre si e com a sua própria organização, como também, evoluem no tempo em tamanho e em forma podendo gerar novos comportamentos. Além disso, por muito tempo supôs-se que eram sistemas aleatórios, entretanto, são regidos por complexas formas de organização [sayama2015, albert2002statistical].

5.1 Propriedades

Algumas propriedades são usadas comumente para caracterizar essas redes complexas. O primeiro conceito da lista é a entropia de shannon, advinda da área de teoria da informação, uma medida que traz uma taxa de surpresa [vajapeyam2014]. A entropia é um número real positivo utilizado para tentar prever qual o valor de uma variável conhecida baseada no histórico de valores já gerados. Deste modo, é possível informar quão aleatória é a estrutura de um grafo baseando-se na distribuição dos possíveis valores de graus dos vértices do grafo [lewis.c2.a2009], sendo o grau o número de arestas que incidem em um vértice [oliveira2012monitoramento]. Uma outra propriedade relevante é o conceito de hub, conceito que representa os vértices com grande quantidade de arestas [lewis.c2.a2009] conectadas a eles.

Entre as principais características de uma rede, têm-se o comprimento de caminho médio, definido pela média de arestas do menor caminho entre cada par de vértices de um grafo, ou seja, é a média da quantidade de saltos que são necessários para se alcançar um vértice qualquer a partir de um outro vértice qualquer da mesma rede [wang2003complex, lewis.c2.a2009].

Sobre a última propriedade, o coeficiente de cluster mede quão aglomerado é o grafo por meio do cálculo da média de C para cada vértice da rede: , sendo k a quantidade de vizinhos do vértice e n o número de arestas entre os k vizinhos do vértice [ravasz2003hierarchical, wang2003complex, newman2010]. Portanto, é usado que para definir o quanto os vértices estão conectados.

5.2 Topologias de redes/Tipos de redes complexas

As redes complexas podem ser classificadas em quatro topologias básicas: regular, aleatória, mundo pequeno e livre de escala. O formato mais simples seria a de um grafo regular que possui um padrão de distribuição de suas arestas. Na mesma quantidade para cada vértice, ou seja, uma entropia igual a zero, já que na entropia de shannon possui o 1 como o grau de aleatoriedade máxima [lewis.c2.a2009]. Na Figura 5.2, todos os vértices têm o mesmo número de arestas, representando o grafo regular. Ao contrário dele tem-se o grafo aleatório, entropia próxima de 1, onde para cada vértice no grafo há uma possibilidade de conexão com outro vértice, perdendo o padrão de distribuição apresentado pelo regular, como mostra a Figura 5.2 [lewis.c2.a2009, antiqueira2005modelando].

Exemplo de grafo regular com entropia próxima ou igual a zero. Obs.: as arestas das bordas estão sendo omitidas por questão de visualização. Elaborado pelo autor

Rede aleatória com entropia próxima ou igual a um. Obs.: as arestas das bordas estão sendo omitidas por questão de visualização. Elaborado pelo autor

A próxima topologia que será abordada é conhecida como mundo pequeno. Essas redes tem uma entropia intermediária, entre o regular e o aleatório, pois são a princípio regulares até que suas arestas sejam redistribuídas de forma aleatória, gerando o crescimento na entropia. Devido a redistribuição, vértices que se encontravam distantes agora podem ser ligados tornando possível realizar um trajeto no grafo por menores caminhos, diminuindo o diâmetro e o coeficiente de cluster do grafo. Sendo assim, observa-se um menor comprimento de caminho médio provocado pelo efeito mundo pequeno [wang2003complex, lewis.c2.a2009, caminha2012modeling]. A seguir um exemplo com dois diferentes percentuais p de redistribuição de arestas nas Figuras 5.2 e 5.2.

Exemplo de grafo mundo pequeno com p = 0,1. Obs.: as arestas das bordas estão sendo omitidas por questão de visualização. Elaborado pelo autor

Exemplo de grafo mundo pequeno com p = 0,5. Obs.: as arestas das bordas estão sendo omitidas por questão de visualização. Elaborado pelo autor

A próxima topologia é a rede livre de escala. Esta é um tipo de grafo que segue uma lei de potência e obedece duas regras de formação: a regra de crescimento, que consiste em uma rede que inicia-se com poucos vértices em que a cada espaço de tempo pode surgir um vértice novo; e a regra de preferential attachment, que ao adicionar um vértice novo, este vai se ligar a um vértice já existente de forma que o vértice escolhido obedeça uma probabilidade proporcional ao seu grau. Isso gera uma rede em que alguns vértices possuem alta concentração de arestas, enquanto outros só possuem uma, como na Figura 5.2. Dessa forma, caminhar nesse tipo de grafo é mais acessível, pois ao chegar em um vértice conectado há maiores chances de encontrar o vértice destino. Essa topologia também pode representar alguns tipos de redes, como a internet, na qual a distribuição de probabilidade não é mais uniforme como no aleatório e apresenta um crescimento constante [wang2003complex, lewis.c2.a2009].

Exemplo de grafo livre de escala. Obs.: as arestas das bordas estão sendo omitidas por questão de visualização. Elaborado pelo autor

Para apresentar as propriedades em cada uma das topologias, pode ser observado o Quadro 5.2 abaixo que mostra cada uma em uma escala de três níveis, baixa, média e alta, com base no gráfico de radar na Figura 5.2.

[ht] Comparação entre as topologias com base nas propriedades apresentadas. Propriedade Regular Aleatória Mundo pequeno Livre de escala Entropia Baixo Alta Média Alta Hub Baixo Baixo Baixo Alto Comp. de caminho médio Baixo Médio Alto Médio Coeficiente de cluster Baixo Baixo Alto Médio

Propriedade dos grafos Ring (regular), Random (Aleatório), Small World (Mundo pequeno), Scale free (Livre de escala). [lewis.c6.a2009]

6 Caminhos e buscas

Para compreender melhor o resultado de um algoritmo de busca, define-se caminho como qualquer sequência de vértices, de forma que cada par da sequência seja ligado por uma aresta e que não haja repetição de nenhum vértice, conforme ilustrado na Figura 6 [newman2010]. Quando obtém-se o melhor caminho possível, este é chamado de caminho ótimo.

Exemplo de caminho. [newman2010]

6.1 Algoritmos de Buscas

Diversos tipos de problemas podem ser descritos com busca em grafos, por exemplo, como o roteamento do tráfego de rede telefônica, o mapeamento das relações interpessoais em redes sociais ou, no contexto desse trabalho, a busca para encontrar o melhor caminho em uma cidade. Devido a variedade de problemas de busca, é necessário o uso de algoritmos que sejam capazes de encontrar uma solução ótima para o problema em tempo viável [hart1968formal]. Portanto, utilizou-se o algoritmo A* que é um tipo de busca informada, ou busca heurística com desempenho e soluções satisfatórios.

6.1.1 Algioritmo Heurístico

Compreendendo um algoritmo heurístico, definidas estas como funções que resultam em estimativas de uma solução real. No caso deste trabalho são estimativas que tentam calcular o valor real de uma medida de distância. Por exemplo, quando se precisa do menor caminho entre uma loja e outra dentro de um shopping, provavelmente o caminho não será uma linha reta. Pode-se realizar essa inferência por haver vários obstáculos, como paredes, pessoas e outros objetos, porém é possível estimar qual a distância real a partir da heurística que informa a distância em linha reta. Se essa solução avaliada for sempre menor que a solução real para determinado problema, têm-se uma heurística admissível. Outra propriedade da heurística é a consistência que remete à regra de desigualdade de triângulos, demonstrado na figura 6.1.1, esta afirma que ao sair de um ponto x e chegar em outro y, a estimativa x’ de solução a partir de x sempre será menor que o custo c de se chegar em y partindo de x somado a estimativa y’ observada de y [norvig2004].

Demonstração da propriedade da consistência em uma heurística definida como uma função de distância euclidiana. Elaborado pelo autor

6.1.2 Busca A*

Após entender algoritmos heurísticos, a busca heurística é aquela que utiliza de informações além das definições do problema para decidir qual o passo mais útil a ser seguido em determinado instante de uma busca [norvig2004], ou seja, ela é atribuída a uma heurística. Então, utilizando a busca A*, é possível encontrar soluções ótimas ao se utilizar de uma função heurística admissível e consistente. A função heurística utilizada para o problema deste trabalho foi o cálculo da distância em linha reta com uma função euclidiana utilizada para um plano cartesiano, e a fórmula da distância de Haversine que calcula algo semelhante a linha reta em objetos esféricos como a terra.

Retomando a busca A*, o algoritmo avalia suas decisões por meio de uma função de avaliação , em que n representa um vértice e a função representa o custo de se escolher aquele vértice n como uma parte da solução para o caminho ótimo. Esse f(n) pode ser decomposto em duas novas funções, g(n) que representa o custo atual de se atingir aquele vértice n a partir da origem e h(n) que é a própria função heurística de se chegar ao vértice objetivo a partir do vértice n [hart1968formal]. Um exemplo que ilustra a função de avaliação pode ser observado na Figura 6.1.2.

Tendo a origem como o vértice v1 e o destino o vértice v5, durante a busca com o vértice v3 selecionado temos o valor em destaque de g(v3) e de h(v3) totalizando f(v3) = 12 Elaborado pelo autor

O algoritmo funciona de forma que a partir do vértice inicial, se calcula o f(n) de cada um dos seus vértices vizinhos e adiciona-se seus resultados numa lista chamada de fronteira. Dessa lista, é retirado o vértice com o menor valor de f(n) selecionando-o para continuar a busca até que o vértice escolhido seja o vértice objetivo. Isso faz com que a busca sempre tenda a andar na direção do vértice objetivo, diminuindo a seleção, expansão, de vértices que não serão parte do caminho ótimo para o problema [norvig2004, hart1968formal].

6.2 Colapsar ou Coarsening

O processo de colapsar é tal que, dado uma região de um grafo, consiste em transformar todos os vértices dessa região em um único vértice, onde as arestas incidentes a esse vértice são as arestas que se ligam com os vértices que não estão na região, quanto as arestas incidentes a vértices dentro da região, estas são colapsadas também [karypis1995metis]. A posição do vértice formado assumirá a posição do vértice mais central dada a região escolhida.

Um exemplo mais preciso do que consiste o colapso está na Figura 6.2. No item 6.2(a) é possível notar um grafo. Na Figura 6.2(b), é possível observar uma região selecionada para colapsar. Essa região é demarcada a partir da disponibilidade do usuário de ônibus para caminhar numa distância r. Na Figura 6.2(c), são destacados os vértices que serão colapsados em um único super vértice, de modo que cada vértice represente uma parada de ônibus. Por fim, na Figura 6.2(d), o resultado de colapsar, quando um super vértice está presente no lugar de todos os vértices da Sub Figura (c).

Processo de colapsar vértices. [ponte2016busca]

Ao encontrar um caminho após uma busca entre nós colapsados, tem-se uma aresta final, a qual foi utilizada para encontrar o super vértice de destino. Para resgatar qual o vértice destino real dentro da região colapsada, basta olhar em qual vértice incidia aquela aresta final antes de colapsar a região. Sendo assim o processo inverso de colapsar acontece para recuperar qual o verdadeiro destino.

6.2.1 Heurística não admissível

Ao colapsar os vértices de uma região e tomando-se como posição os valores do vértice mais central, o destino final não necessariamente será esse vértice. Desse comportamento observa-se um erro que pode variar de acordo com o raio da região, pois a posição do super vértice pode ser pior que a posição do vértice destino, sendo assim a heurística da linha reta não informará um resultado menor ou igual ao valor real, e sim, um valor que pode ser menor ou maior excedendo-se no máximo a um valor próximo ao diâmetro da região colapsada. Um exemplo pode ser visto na Figura 6.2.1, onde o raio com tamanho 15 pode proporcionar um erro de no máximo 30, caso o vértice selecionado como central esteja numa extremidade e o vértice objetivo esteja na outra extremidade da região. A seta pontilhada demonstra a heurística correta e representa o vértice final. A seta sólida representa a heurística calculada, porém não é o vértice final. O vértice f representa a atual posição de busca e o d o vértice escolhido como mais central.

Uma busca que encontra uma heurística maior que o resultado final escolhido. Elaborado pelo autor

7 Algoritmo Floyd-Warshall

Uma forma de se descobrir todos os caminhos possíveis de um grafo é utilizando o algoritmo de Floyd-Warshall que é de complexidade O() onde V é número de vértices do grafo, por consequência os caminhos possíveis entre duas regiões específicas seria apenas iterar sobre o resultado. Para executar tal algoritmo é necessário uma estrutura de repetição com três laços aninhados e uma estrutura de dados de matriz V x V para armazenar os resultados [gaioso2013paralelizaccao]. Apesar da existência desse algoritmo, ele não pode ser utilizado por tornaria o problema muito mais complexo, já que itera sobre todos os nós do grafo, não somente duas regiões específicas. Isso é um comportamento que não pode se evitar, pois não seria possível reduzir a busca já que não se sabe quais os vértices que serão utilizados antes do tempo de execução.

8 Contribuições do Trabalho

Os resultados deste estudo apontam que é possível estender a aplicação de Ponte et al (2016) no grafo de ônibus de Fortaleza em outros cenários, sendo, então, admissível aplicá-la em cidades distintas com formatos e tamanhos diferentes que variam de 23 mil a 116 mil vértices.

9 Limitações

Em decorrência de limitações de tempo para a execução desse estudo, não foi possível avaliar raios maiores, como extensões de 500 ou 1000 metros, assim como outros que foram utilizados por Ponte et al (2016). Visto que, as redes utilizadas possuem tamanhos maiores do que as redes do estudo citado acima, o que tornaria necessário um recurso computacional que pudesse abranger essa análise.

10 Trabalhos Futuros

Os estudos futuros poderão executar o mesmo procedimento para os grafos sintéticos utilizados. De forma que seja permitido comparar as propriedades das topologias, observando qual possui um melhor desempenho e qual topologia as cidades deveriam adotar para que possa executar melhor a estratégia de Colapsar. Ademais, poderão também contemplar a avaliação de maiores raios de execução, além de diferentes e maiores cidades das que foram utilizadas.

Referências